home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / tput-1_0.lha / tput-1.0 / conversions.c < prev    next >
C/C++ Source or Header  |  1991-07-10  |  8KB  |  338 lines

  1. /* conversions.c -- table of termcap/terminfo equivalencies
  2.    Copyright (C) 1989 Free Software Foundation, Inc.
  3.  
  4.    This program is free software; you can redistribute it and/or modify
  5.    it under the terms of the GNU General Public License as published by
  6.    the Free Software Foundation; either version 2, or (at your option)
  7.    any later version.
  8.  
  9.    This program is distributed in the hope that it will be useful,
  10.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.    GNU General Public License for more details.
  13.  
  14.    You should have received a copy of the GNU General Public License
  15.    along with this program; if not, write to the Free Software
  16.    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  17.  
  18. #include "tput.h"
  19.  
  20. /* `conversions' is binary-searched to retrieve the termcap equivalent
  21.    of the given terminfo capability, along with information about what
  22.    type of capability it is.  If you add entries, keep the table sorted
  23.    by terminfo capability and adjust `CAPABILITIES' in tput.h. */
  24.  
  25. struct conversion conversions[CAPABILITIES] =
  26. {
  27.   {"acsc", "ac", STR},
  28.   {"am", "am", BOOL},
  29.   {"bel", "bl", STR},
  30.   {"blink", "mb", STR},
  31.   {"bold", "md", STR},
  32.   {"bw", "bw", BOOL},
  33.   {"cbt", "bt", STR},
  34.   {"chts", "HC", BOOL},
  35.   {"civis", "vi", STR},
  36.   {"clear", "cl", STR | PAD},
  37.   {"cmdch", "CC", STR},
  38.   {"cnorm", "ve", STR},
  39.   {"cols", "co", NUM},
  40.   {"cr", "cr", STR},
  41.   {"csr", "cs", STR},
  42.   {"cub", "LE", STR},
  43.   {"cub1", "le", STR},
  44.   {"cud", "DO", STR | PAD},
  45.   {"cud1", "do", STR},
  46.   {"cuf", "RI", STR},
  47.   {"cuf1", "nd", STR},
  48.   {"cup", "cm", STR},
  49.   {"cuu", "UP", STR},
  50.   {"cuu1", "up", STR},
  51.   {"cvvis", "vs", STR},
  52.   {"da", "da", BOOL},
  53.   {"db", "db", BOOL},
  54.   {"dch", "DC", STR},
  55.   {"dch1", "dc", STR},
  56.   {"dim", "mh", STR},
  57.   {"dl", "DL", STR | PAD},
  58.   {"dl1", "dl", STR},
  59.   {"dsl", "ds", STR},
  60.   {"ech", "ec", STR},
  61.   {"ed", "cd", STR | PAD},
  62.   {"el", "ce", STR},
  63.   {"el1", "cb", STR},
  64.   {"enacs", "eA", STR},
  65.   {"eo", "eo", BOOL},
  66.   {"eslok", "es", BOOL},
  67.   {"ff", "ff", STR},
  68.   {"flash", "vb", STR},
  69.   {"fsl", "fs", STR},
  70.   {"gn", "gn", BOOL},
  71.   {"hc", "hc", BOOL},
  72.   {"hd", "hd", STR},
  73.   {"home", "ho", STR},
  74.   {"hpa", "ch", STR},
  75.   {"hs", "hs", BOOL},
  76.   {"ht", "ta", STR},
  77.   {"hts", "st", STR},
  78.   {"hu", "hu", STR},
  79.   {"hz", "hz", BOOL},
  80.   {"ich", "IC", STR},
  81.   {"ich1", "ic", STR},
  82.   {"if", "if", STR},
  83.   {"il", "AL", STR | PAD},
  84.   {"il1", "al", STR},
  85.   {"in", "in", BOOL},
  86.   {"ind", "sf", STR},
  87.   {"indn", "SF", STR | PAD},
  88.   {"invis", "mk", STR},
  89.   {"ip", "ip", STR},
  90.   {"iprog", "iP", STR},
  91.   {"is1", "i1", STR},
  92.   {"is2", "is", STR},
  93.   {"is3", "i3", STR},
  94.   {"it", "it", NUM},
  95.   {"kBEG", "&9", STR},
  96.   {"kCAN", "&0", STR},
  97.   {"kCMD", "*1", STR},
  98.   {"kCPY", "*2", STR},
  99.   {"kCRT", "*3", STR},
  100.   {"kDC", "*4", STR},
  101.   {"kDL", "*5", STR},
  102.   {"kEND", "*7", STR},
  103.   {"kEOL", "*8", STR},
  104.   {"kEXT", "*9", STR},
  105.   {"kFND", "*0", STR},
  106.   {"kHLP", "#1", STR},
  107.   {"kHOM", "#2", STR},
  108.   {"kIC", "#3", STR},
  109.   {"kLFT", "#4", STR},
  110.   {"kMOV", "%b", STR},
  111.   {"kMSG", "%a", STR},
  112.   {"kNXT", "%c", STR},
  113.   {"kOPT", "%d", STR},
  114.   {"kPRT", "%f", STR},
  115.   {"kPRV", "%e", STR},
  116.   {"kRDO", "%g", STR},
  117.   {"kRES", "%j", STR},
  118.   {"kRIT", "%i", STR},
  119.   {"kRPL", "%h", STR},
  120.   {"kSAV", "!1", STR},
  121.   {"kSPD", "!2", STR},
  122.   {"kUND", "!3", STR},
  123.   {"ka1", "K1", STR},
  124.   {"ka3", "K3", STR},
  125.   {"kb2", "K2", STR},
  126.   {"kbeg", "@1", STR},
  127.   {"kbs", "kb", STR},
  128.   {"kc1", "K4", STR},
  129.   {"kc3", "K5", STR},
  130.   {"kcan", "@2", STR},
  131.   {"kcbt", "kB", STR},
  132.   {"kclo", "@3", STR},
  133.   {"kclr", "kC", STR},
  134.   {"kcmd", "@4", STR},
  135.   {"kcpy", "@5", STR},
  136.   {"kcrt", "@6", STR},
  137.   {"kctab", "kt", STR},
  138.   {"kcub1", "kl", STR},
  139.   {"kcud1", "kd", STR},
  140.   {"kcuf1", "kr", STR},
  141.   {"kcuu1", "ku", STR},
  142.   {"kdch1", "kD", STR},
  143.   {"kdl1", "kL", STR},
  144.   {"ked", "kS", STR},
  145.   {"kel", "kE", STR},
  146.   {"kend", "@7", STR},
  147.   {"kent", "@8", STR},
  148.   {"kext", "@9", STR},
  149.   {"kf0", "k0", STR},
  150.   {"kf1", "k1", STR},
  151.   {"kf10", "k;", STR},
  152.   {"kf11", "F1", STR},
  153.   {"kf12", "F2", STR},
  154.   {"kf13", "F3", STR},
  155.   {"kf14", "F4", STR},
  156.   {"kf15", "F5", STR},
  157.   {"kf16", "F6", STR},
  158.   {"kf17", "F7", STR},
  159.   {"kf18", "F8", STR},
  160.   {"kf19", "F9", STR},
  161.   {"kf2", "k2", STR},
  162.   {"kf20", "FA", STR},
  163.   {"kf21", "FB", STR},
  164.   {"kf22", "FC", STR},
  165.   {"kf23", "FD", STR},
  166.   {"kf24", "FE", STR},
  167.   {"kf25", "FF", STR},
  168.   {"kf26", "FG", STR},
  169.   {"kf27", "FH", STR},
  170.   {"kf28", "FI", STR},
  171.   {"kf29", "FJ", STR},
  172.   {"kf3", "k3", STR},
  173.   {"kf30", "FK", STR},
  174.   {"kf31", "FL", STR},
  175.   {"kf32", "FM", STR},
  176.   {"kf33", "FN", STR},
  177.   {"kf34", "FO", STR},
  178.   {"kf35", "FP", STR},
  179.   {"kf36", "FQ", STR},
  180.   {"kf37", "FR", STR},
  181.   {"kf38", "FS", STR},
  182.   {"kf39", "FT", STR},
  183.   {"kf4", "k4", STR},
  184.   {"kf40", "FU", STR},
  185.   {"kf41", "FV", STR},
  186.   {"kf42", "FW", STR},
  187.   {"kf43", "FX", STR},
  188.   {"kf44", "FY", STR},
  189.   {"kf45", "FZ", STR},
  190.   {"kf46", "Fa", STR},
  191.   {"kf47", "Fb", STR},
  192.   {"kf48", "Fc", STR},
  193.   {"kf49", "Fd", STR},
  194.   {"kf5", "k5", STR},
  195.   {"kf50", "Fe", STR},
  196.   {"kf51", "Ff", STR},
  197.   {"kf52", "Fg", STR},
  198.   {"kf53", "Fh", STR},
  199.   {"kf54", "Fi", STR},
  200.   {"kf55", "Fj", STR},
  201.   {"kf56", "Fk", STR},
  202.   {"kf57", "Fl", STR},
  203.   {"kf58", "Fm", STR},
  204.   {"kf59", "Fn", STR},
  205.   {"kf6", "k6", STR},
  206.   {"kf60", "Fo", STR},
  207.   {"kf61", "Fp", STR},
  208.   {"kf62", "Fq", STR},
  209.   {"kf63", "Fr", STR},
  210.   {"kf7", "k7", STR},
  211.   {"kf8", "k8", STR},
  212.   {"kf9", "k9", STR},
  213.   {"kfnd", "@0", STR},
  214.   {"khlp", "%1", STR},
  215.   {"khome", "kh", STR},
  216.   {"khts", "kT", STR},
  217.   {"kich1", "kI", STR},
  218.   {"kil1", "kA", STR},
  219.   {"kind", "kF", STR},
  220.   {"kll", "kH", STR},
  221.   {"km", "km", BOOL},
  222.   {"kmov", "%4", STR},
  223.   {"kmrk", "%2", STR},
  224.   {"kmsg", "%3", STR},
  225.   {"knp", "kN", STR},
  226.   {"knxt", "%5", STR},
  227.   {"kopn", "%6", STR},
  228.   {"kopt", "%7", STR},
  229.   {"kpp", "kP", STR},
  230.   {"kprt", "%9", STR},
  231.   {"kprv", "%8", STR},
  232.   {"krdo", "%0", STR},
  233.   {"kref", "&1", STR},
  234.   {"kres", "&5", STR},
  235.   {"krfr", "&2", STR},
  236.   {"kri", "kR", STR},
  237.   {"krmir", "kM", STR},
  238.   {"krpl", "&3", STR},
  239.   {"krst", "&4", STR},
  240.   {"ksav", "&6", STR},
  241.   {"kslt", "*6", STR},
  242.   {"kspd", "&7", STR},
  243.   {"ktbc", "ka", STR},
  244.   {"kund", "&8", STR},
  245.   {"lf0", "l0", STR},
  246.   {"lf1", "l1", STR},
  247.   {"lf10", "la", STR},
  248.   {"lf2", "l2", STR},
  249.   {"lf3", "l3", STR},
  250.   {"lf4", "l4", STR},
  251.   {"lf5", "l5", STR},
  252.   {"lf6", "l6", STR},
  253.   {"lf7", "l7", STR},
  254.   {"lf8", "l8", STR},
  255.   {"lf9", "l9", STR},
  256.   {"lh", "lh", NUM},
  257.   {"lines", "li", NUM},
  258.   {"ll", "ll", STR},
  259.   {"lm", "lm", NUM},
  260.   {"lw", "lw", NUM},
  261.   {"mc0", "ps", STR},
  262.   {"mc4", "pf", STR},
  263.   {"mc5", "po", STR},
  264.   {"mc5i", "5i", BOOL},
  265.   {"mc5p", "pO", STR},
  266.   {"mgc", "MC", STR},
  267.   {"mir", "mi", BOOL},
  268.   {"mrcup", "CM", STR},
  269.   {"msgr", "ms", BOOL},
  270.   {"nel", "nw", STR},
  271.   {"nlab", "Nl", NUM},
  272.   {"npc", "NP", BOOL},
  273.   {"nrrmc", "NR", BOOL},
  274.   {"nxon", "nx", BOOL},
  275.   {"os", "os", BOOL},
  276.   {"pad", "pc", STR},
  277.   {"pb", "pb", NUM},
  278.   {"pfkey", "pk", STR},
  279.   {"pfloc", "pl", STR},
  280.   {"pfx", "px", STR},
  281.   {"pln", "pn", STR},
  282.   {"prot", "mp", STR},
  283.   {"rc", "rc", STR},
  284.   {"rep", "rp", STR},
  285.   {"rev", "mr", STR},
  286.   {"rf", "rf", STR},
  287.   {"rfi", "RF", STR},
  288.   {"ri", "sr", STR},
  289.   {"rin", "SR", STR | PAD},
  290.   {"rmacs", "ae", STR},
  291.   {"rmam", "RA", STR},
  292.   {"rmcup", "te", STR},
  293.   {"rmdc", "ed", STR},
  294.   {"rmir", "ei", STR},
  295.   {"rmkx", "ke", STR},
  296.   {"rmln", "LF", STR},
  297.   {"rmm", "mo", STR},
  298.   {"rmp", "rP", STR},
  299.   {"rmso", "se", STR},
  300.   {"rmul", "ue", STR},
  301.   {"rmxon", "RX", STR},
  302.   {"rs1", "r1", STR},
  303.   {"rs2", "r2", STR},
  304.   {"rs3", "r3", STR},
  305.   {"sc", "sc", STR},
  306.   {"sgr", "sa", STR},
  307.   {"sgr0", "me", STR},
  308.   {"smacs", "as", STR},
  309.   {"smam", "SA", STR},
  310.   {"smcup", "ti", STR},
  311.   {"smdc", "dm", STR},
  312.   {"smgl", "ML", STR},
  313.   {"smgr", "MR", STR},
  314.   {"smir", "im", STR},
  315.   {"smkx", "ks", STR},
  316.   {"smln", "LO", STR},
  317.   {"smm", "mm", STR},
  318.   {"smso", "so", STR},
  319.   {"smul", "us", STR},
  320.   {"smxon", "SX", STR},
  321.   {"tbc", "ct", STR},
  322.   {"tsl", "ts", STR},
  323.   {"uc", "uc", STR},
  324.   {"ul", "ul", BOOL},
  325.   {"vpa", "cv", STR},
  326.   {"vt", "vt", NUM},
  327.   {"wind", "wi", STR},
  328.   {"wsl", "ws", NUM},
  329.   {"xenl", "xn", BOOL},
  330.   {"xhp", "xs", BOOL},
  331.   {"xmc", "sg", NUM},
  332.   {"xoffc", "XF", STR},
  333.   {"xon", "xo", BOOL},
  334.   {"xonc", "XN", STR},
  335.   {"xsb", "xb", BOOL},
  336.   {"xt", "xt", BOOL}
  337. };
  338.